﻿<phone:PhoneApplicationPage xmlns:my="clr-namespace:SverigesRadio.SverigesRadioApp.WindowsPhoneApplication.Controls"  
    x:Class="SverigesRadio.SverigesRadioApp.WindowsPhoneApplication.Views.Programs.ProgramsPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit" xmlns:Converters="clr-namespace:SverigesRadio.SverigesRadioApp.WindowsPhoneApplication.Converters" xmlns:ApplicationBar="clr-namespace:SverigesRadio.SverigesRadioApp.WindowsPhoneApplication.Controls.ApplicationBar" FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="Portrait" Orientation="Portrait"
    mc:Ignorable="d" d:DesignHeight="768" d:DesignWidth="480"
    shell:SystemTray.IsVisible="True">

    <toolkit:TransitionService.NavigationInTransition>
        <toolkit:NavigationInTransition>
            <toolkit:NavigationInTransition.Backward>
                <toolkit:TurnstileTransition Mode="BackwardIn"/>
            </toolkit:NavigationInTransition.Backward>
            <toolkit:NavigationInTransition.Forward>
                <toolkit:TurnstileTransition Mode="ForwardIn"/>
            </toolkit:NavigationInTransition.Forward>
        </toolkit:NavigationInTransition>
    </toolkit:TransitionService.NavigationInTransition>
    <toolkit:TransitionService.NavigationOutTransition>
        <toolkit:NavigationOutTransition>
            <toolkit:NavigationOutTransition.Backward>
                <toolkit:TurnstileTransition Mode="BackwardOut"/>
            </toolkit:NavigationOutTransition.Backward>
            <toolkit:NavigationOutTransition.Forward>
                <toolkit:TurnstileTransition Mode="ForwardOut"/>
            </toolkit:NavigationOutTransition.Forward>
        </toolkit:NavigationOutTransition>
    </toolkit:TransitionService.NavigationOutTransition>

    <UserControl.Resources>
        <Converters:VisibilityConverter x:Key="VisibilityConverter" />
        <Converters:InvertVisibilityConverter x:Key="InvertVisibilityConverter"/>
        <Converters:CropStringConverter x:Key="CropStringConverter"/>

        <DataTemplate x:Key="categoryItemTemplate">

            <StackPanel Margin="0 0 0 10">
                <TextBlock Text="{Binding TrimmedTitle}" TextWrapping="Wrap" Style="{StaticResource PhoneTextLargeStyle}"/>
                <TextBlock Text="{Binding DescriptionOrTitle, Converter={StaticResource CropStringConverter}}" TextWrapping="Wrap" Margin="14 0 0 0"  Style="{StaticResource PhoneTextSubtleStyle}"/>

            </StackPanel>
        </DataTemplate>

        <DataTemplate x:Key="groupHeaderTemplate">
            <Border Background="YellowGreen" Margin="6">
                <TextBlock Text="{Binding Title}" Style="{StaticResource PhoneTextLargeStyle}" Foreground="Black"/>
            </Border>
        </DataTemplate>

        <DataTemplate x:Key="groupItemTemplate" >
            <Border Background="YellowGreen" Width="99" Height="99" Margin="6">
                <TextBlock Text="{Binding Title}" Style="{StaticResource PhoneTextLargeStyle}" Foreground="Black"/>
            </Border>
        </DataTemplate>

    </UserControl.Resources>


    <!--LayoutRoot is the root grid where all page content is placed-->
    <Grid x:Name="LayoutRoot" Background="Transparent">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="20"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

        <Image Grid.Row="0" Visibility="{Binding DarkThemeVisibility}" Source="/SverigesRadio.SverigesRadioApp.WindowsPhoneApplication;component/Images/Sveriges_Radio_Logotype_Black.png" Height="50" />
        <Image Grid.Row="0" Visibility="{Binding DarkThemeVisibility, Converter={StaticResource InvertVisibilityConverter}}" Source="/SverigesRadio.SverigesRadioApp.WindowsPhoneApplication;component/Images/Sveriges_Radio_Logotype_White.png" Height="50" />

        <toolkit:PerformanceProgressBar Visibility="{Binding IsBusy, Converter={StaticResource VisibilityConverter}}" 
                                        Canvas.ZIndex="1000" Grid.Row="1" Margin="0 5 0 5"
                                        VerticalAlignment="Center" HorizontalAlignment="Stretch" Height="5" IsIndeterminate="True"/>

        <TextBlock Grid.Row="2" Text="Program" Style="{StaticResource PhoneTextTitle3Style}"/>
        <TextBlock Grid.Row="3" Text="{Binding CategoryTitleText}" Style="{StaticResource PhoneTextTitle1Style}" />


        <my:LongListSelector 
            IsFlatList="False" Grid.Row="4"
            Visibility="{Binding CategoriesVisibility, Converter={StaticResource InvertVisibilityConverter}}" 
            ItemsSource="{Binding Programs}"
            SelectedItem="{Binding SelectedProgram, Mode=TwoWay}"
            ItemTemplate="{StaticResource categoryItemTemplate}"
                    GroupHeaderTemplate="{StaticResource groupHeaderTemplate}"
                    GroupItemTemplate="{StaticResource groupItemTemplate}" >
            <toolkit:LongListSelector.GroupItemsPanel>
                <ItemsPanelTemplate>
                    <toolkit:WrapPanel/>
                </ItemsPanelTemplate>
            </toolkit:LongListSelector.GroupItemsPanel>

        </my:LongListSelector>

        <ApplicationBar:BindableApplicationBar Mode="Default" IsVisible="True">
            <ApplicationBar:BindableApplicationBarIconButton Command="{Binding PlayCommand}" IsEnabled="False"  Text="Spara Favourit" IconUri="/images/AddFavourite.png" />
            <ApplicationBar:BindableApplicationBarIconButton Command="{Binding PlayCommand}" IsEnabled="{Binding IsPlayEnabled}" Text="Spelare" IconUri="/images/Play.png" />

        </ApplicationBar:BindableApplicationBar>


    </Grid>
 

</phone:PhoneApplicationPage>
